package com.jinmdz.fmis.dao.model.recinfo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 微信接运查询对象
 *
 * @author GaoXiangLiang
 * @date 2020/6/12 16:55
 */
public class RecInfoWx extends BaseBean {
    /**
     * 主键
     */
    @AnValidate(name = "主键")
    @ApiModelProperty(value = "主键", name = "id", position = 1)
    private Integer id;

    /**
     * 接运编码
     */
    @AnValidate(name = "接运编码")
    @ApiModelProperty(value = "接运编码", name = "recCode", position = 2)
    private String recCode;

    /**
     * 联系人
     */
    @AnValidate(name = "联系人")
    @ApiModelProperty(value = "联系人", name = "contact", position = 3)
    private String contact;

    /**
     * 联系电话
     */
    @AnValidate(name = "联系电话")
    @ApiModelProperty(value = "联系电话", name = "contactPhone", position = 4)
    private String contactPhone;
    /**
     * 联系人类型
     */
    @AnValidate(name = "联系人类型")
    @ApiModelProperty(value = "联系人类型", name = "contactType", position = 5)
    private Integer contactType;
    /**
     * 逝者姓名
     */
    @AnValidate(name = "逝者姓名")
    @ApiModelProperty(value = "逝者姓名", name = "deadName", position = 6)
    private String deadName;
    /**
     * 死亡原因
     */
    @AnValidate(name = "死亡原因")
    @ApiModelProperty(value = "死亡原因", name = "deathCause", position = 7)
    private String deathCause;
    /**
     * 联系人与逝者关系
     */
    @AnValidate(name = "联系人与逝者关系")
    @ApiModelProperty(value = "联系人与逝者关系", name = "relationCode", position = 8)
    private Integer relationCode;
    /**
     * 联系人与逝者关系名称
     */
    @AnValidate(name = "联系人与逝者关系名称")
    @ApiModelProperty(value = "联系人与逝者关系名称", name = "relation", position = 9)
    private String relation;
    /**
     * 预约车型编码,字典编码[rec_info_type]
     */
    @AnValidate(name = "预约车型编码,字典编码")
    @ApiModelProperty(value = "预约车型编码,字典编码", name = "carTypeCode", position = 10)
    private Integer carTypeCode;
    /**
     * 预约车型,字典编码
     */
    @AnValidate(name = "预约车型,字典编码")
    @ApiModelProperty(value = "预约车型,字典编码", name = "carType", position = 11)
    private String carType;

    /**
     * 车辆用途编码，字典编码[rec_info_use]
     */
    @AnValidate(name = "车辆用途编码，字典编码")
    @ApiModelProperty(value = "车辆用途编码，字典编码", name = "purposeCode", position = 12)
    private Integer purposeCode;
    /**
     * 车辆用途，字典编码[rec_car_use],接运遗体、送灰等
     */
    @AnValidate(name = "车辆用途，字典编码")
    @ApiModelProperty(value = "车辆用途，字典编码", name = "purpose", position = 13)
    private String purpose;
    /**
     * 预约日期
     */
    @AnValidate(name = "预约日期")
    @ApiModelProperty(value = "预约日期", name = "arrivalTime", example = "2020-02-07 23:01", position = 14)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date arrivalTime;
    /**
     * 接运费
     */
    @AnValidate(name = "接运费")
    @ApiModelProperty(value = "接运费", name = "recCharge", position = 15)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal recCharge;
    /**
     * 遗体到馆存放编码
     */
    @AnValidate(name = "遗体到馆存放编码")
    @ApiModelProperty(value = "遗体到馆存放编码", name = "bodyDepositCode", position = 16)
    private Integer bodyDepositCode;
    /**
     * 遗体到馆存放
     */
    @AnValidate(name = "遗体到馆存放")
    @ApiModelProperty(value = "遗体到馆存放", name = "bodyDeposit", position = 17)
    private String bodyDeposit;
    /**
     * 接运地址
     */
    @AnValidate(name = "接运地址")
    @ApiModelProperty(value = "接运地址", name = "address", position = 18)
    private String address;
    /**
     * 来源编码
     */
    @AnValidate(name = "来源编码")
    @ApiModelProperty(value = "来源编码", name = "sourceCode", position = 19)
    private Integer sourceCode;
    /**
     * 来源
     */
    @AnValidate(name = "来源")
    @ApiModelProperty(value = "来源", name = "source", position = 20)
    private String source;
    /**
     * 接运状态编码，字典编码[rec_task_state]
     */
    @AnValidate(name = "接运状态编码，字典编码[rec_task_state]")
    @ApiModelProperty(value = "接运状态编码，字典编码[rec_task_state]", name = "taskStateCode", position = 20)
    private Integer taskStateCode;
    /**
     * 来源
     */
    @AnValidate(name = "接运状态")
    @ApiModelProperty(value = "接运状态", name = "taskState", position = 21)
    private String taskState;
    /**
     * 费用说明
     */
    @AnValidate(name = "费用说明")
    @ApiModelProperty(value = "费用说明", name = "chargeRemark", position = 22)
    private String chargeRemark;
    /**
     * 备注
     */
    @AnValidate(name = "备注")
    @ApiModelProperty(value = "备注", name = "remark", position = 23)
    private String remark;

    /**
     * 微信appId
     */
    @AnValidate(name = "微信appId")
    @ApiModelProperty(value = "微信appid", name = "appId", position = 24)
    private String appId;

    /**
     * 数据版本号
     */
    @AnValidate(name = "数据版本号")
    @ApiModelProperty(value = "数据版本号", name = "version", position = 25)
    private Long version;

    public Integer getId() {
        return id;
    }

    public RecInfoWx setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getRecCode() {
        return recCode;
    }

    public RecInfoWx setRecCode(String recCode) {
        this.recCode = recCode;
        return this;
    }

    public String getContact() {
        return contact;
    }

    public RecInfoWx setContact(String contact) {
        this.contact = contact;
        return this;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public RecInfoWx setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
        return this;
    }

    public Integer getContactType() {
        return contactType;
    }

    public RecInfoWx setContactType(Integer contactType) {
        this.contactType = contactType;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public RecInfoWx setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getDeathCause() {
        return deathCause;
    }

    public RecInfoWx setDeathCause(String deathCause) {
        this.deathCause = deathCause;
        return this;
    }

    public Integer getRelationCode() {
        return relationCode;
    }

    public RecInfoWx setRelationCode(Integer relationCode) {
        this.relationCode = relationCode;
        return this;
    }

    public String getRelation() {
        return relation;
    }

    public RecInfoWx setRelation(String relation) {
        this.relation = relation;
        return this;
    }

    public Integer getCarTypeCode() {
        return carTypeCode;
    }

    public RecInfoWx setCarTypeCode(Integer carTypeCode) {
        this.carTypeCode = carTypeCode;
        return this;
    }

    public String getCarType() {
        return carType;
    }

    public RecInfoWx setCarType(String carType) {
        this.carType = carType;
        return this;
    }

    public Integer getPurposeCode() {
        return purposeCode;
    }

    public RecInfoWx setPurposeCode(Integer purposeCode) {
        this.purposeCode = purposeCode;
        return this;
    }

    public String getPurpose() {
        return purpose;
    }

    public RecInfoWx setPurpose(String purpose) {
        this.purpose = purpose;
        return this;
    }

    public Date getArrivalTime() {
        return arrivalTime;
    }

    public RecInfoWx setArrivalTime(Date arrivalTime) {
        this.arrivalTime = arrivalTime;
        return this;
    }

    public BigDecimal getRecCharge() {
        return recCharge;
    }

    public RecInfoWx setRecCharge(BigDecimal recCharge) {
        this.recCharge = recCharge;
        return this;
    }

    public Integer getBodyDepositCode() {
        return bodyDepositCode;
    }

    public RecInfoWx setBodyDepositCode(Integer bodyDepositCode) {
        this.bodyDepositCode = bodyDepositCode;
        return this;
    }

    public String getBodyDeposit() {
        return bodyDeposit;
    }

    public RecInfoWx setBodyDeposit(String bodyDeposit) {
        this.bodyDeposit = bodyDeposit;
        return this;
    }

    public String getAddress() {
        return address;
    }

    public RecInfoWx setAddress(String address) {
        this.address = address;
        return this;
    }

    public Integer getSourceCode() {
        return sourceCode;
    }

    public RecInfoWx setSourceCode(Integer sourceCode) {
        this.sourceCode = sourceCode;
        return this;
    }

    public String getSource() {
        return source;
    }

    public RecInfoWx setSource(String source) {
        this.source = source;
        return this;
    }

    public Integer getTaskStateCode() {
        return taskStateCode;
    }

    public RecInfoWx setTaskStateCode(Integer taskStateCode) {
        this.taskStateCode = taskStateCode;
        return this;
    }

    public String getTaskState() {
        return taskState;
    }

    public RecInfoWx setTaskState(String taskState) {
        this.taskState = taskState;
        return this;
    }

    public String getChargeRemark() {
        return chargeRemark;
    }

    public RecInfoWx setChargeRemark(String chargeRemark) {
        this.chargeRemark = chargeRemark;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public RecInfoWx setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public String getAppId() {
        return appId;
    }

    public RecInfoWx setAppId(String appId) {
        this.appId = appId;
        return this;
    }

    public Long getVersion() {
        return version;
    }

    public RecInfoWx setVersion(Long version) {
        this.version = version;
        return this;
    }
}
